An echo control system in a hands-free communication device attenuates a signal path between the microphone and the speaker to reduce the echoes experienced by a far-end user. However, due to inherent nonlinearities, acoustic echo cancellers used in such systems only provide between 25 dB and 30 dB of attenuation in the signal path. This attenuation may be insufficient and may allow residual echoes to be reflected back to the far-end when only a far-end user is actively producing audio signals. Therefore, the introduction of additional attenuation into the signal path during far-end only activity is necessary.
In addition to attenuation, many systems will insert simulated background or comfort noise using parameters generated from speech compression algorithms. The near-end hands-free communication device extracts parameters from current background noise and transmits these parameters to the far-end hands-free communication device across a narrow-band channel. The far-end hands-free communication device then reconstructs the noise from the parameters as it receives them. However, speech compression algorithms require additional and relatively complex processing and therefore increase overall system costs for the creation of bandwidth-efficient parameters.
Background noise can alternatively be simulated using an echo suppressor that locally generates what is known as comfort noise that closely approximates the background noise. The comfort noise is output simultaneously with the audio signal transmitted over the hands-free communications device to replace the background audio signal. This eliminates the need for bandwidth efficiency as the parameters are locally generated and used. However, one problem with such an echo suppressor is that parameters must be extracted from the current frame of background noise that also contains the echo. Another problem with such an echo suppressor is that it is necessary to span arbitrarily long periods of time without updating the parameters. This can cause undesirable clicking noises if done improperly.
An echo suppressor that uses an infinite impulse response (IIR) filter for comfort noise generation is known. Such an echo suppressor, which uses linear predictive coding (LPC) and synthesis codebooks, eliminates the problem of extracting parameters from a frame of background noise containing the echo. However, this type of echo suppressor requires complex LPC and therefore has large memory and computational requirements.
Therefore, what is needed is an echo suppressor for use in a hands-free communications device that provides high quality echo cancellation while maintaining low memory and computational requirements.